using System;
using System.Collections.Generic;
using System.Text;
using DigitalFortress.Configuration;
using DigitalFortress.Base;

namespace DigitalFortress {
	/// <summary>
	///The authentication agent is responsible for providing easy access to the following Authentication Service operations:
	///
	///Authentication of Applications
	///Authentication of Users
	///Session Management 
	///The purpose of this agent is to provide the users of Digital Fortress with an easier approach to authentication operations.
	/// </summary>
	public class AuthenticationAgent : BaseAgent<IAuthenticationService>, IAuthenticationService {

		#region Constructors
		/// <summary>
		/// Initializes this agent with a configuration.
		/// </summary>
		/// <param name="configuration">Configuration to be used.</param>
		public AuthenticationAgent(IConfiguration configuration)
			: base(configuration) {

		}
		#endregion Constructors

		#region Operations

		#endregion Operations

		#region IAuthenticationService Members
		/// <summary>
		/// Indicates if Service is alive.
		/// </summary>
		/// <returns></returns>
		public bool Ping() {
			return Service.Ping();
		}

		#endregion

		protected override string GetEndPointName() {
			return "AuthenticationService";
		}
	}
}
